FILELIST.TXT 01/03/93 Chris Ahlstrom ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º º º Converting food to code for a better life º º º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ To make up for my awful documentation, I've tried to do a number of things. First, there's this file, which summarizes the modules so you'll have some way of collecting your thoughts. Second, I've got some other minor docs you can read. Finally, and most important of all, I've provided lots of fairly clearly written code, done in a very readable style (I feel), with more comments than most code I've seen. And an example application to boot. Not bad for free! Call me at (803)849-0985 (Eastern Standard Time, try not to call after 10:00 PM), or catch me on Compuserve [73340,26] if you really want to use this code, but got stuck. Please note that this code depends on having Borland C/C++ 3.0 and above, and Borland's Application Frameworks 3.1 or above. DOCUMENTATION autoexec.bcc Some settings the makefile needs dialogs.txt Crappy, very incomplete description of the FACE_TV library. See the source code and test program modules. face_tv.zip Compressed source file for the library; it is not included. You have to make it. See the procedures roughly documented in install.bat. filelist.txt This file rite-chere. install.bat A rough attempt to install the code. It's much safer to read this file first, edit it, and then maybe try to run it. You do read install.bat files before you run them, don't you? Or do you like cleaning up afterward (smile). readme.1st Read this even before install.bat. OBJECT CODE CREATED BY THE MAKEFILE face_tv.exe Test bed and example program. Demonstrates a lot of the features of the FACE_TV library. face_tv.lib The meat of the code. Give me a call if you want to see another application (much more complex) that uses this library. SOURCE CODE announce.cpp Early-version support for message and error announce.h classes. bios_vid.h Resolves some DOS references. This file actually comes from another library. boxtools.cpp Utilities for making calculations concerning boxtools.h box-shape displays of text and strings. cnscreen.h Header file for C interface to C++-implemented dumb terminal window. compiler.h Not really sure if this is used... just some standard compiler-dependent declarations. dlg_box.cpp Similar to the tbox modules, but is not meant dlg_box.h to define a base class for TApplications. Instead, the dialog-box object is created inside the TApplication. A very new module. dosshell.cpp A base class to provide a DOS-shell function dosshell.h for any TApplication. face_box.h Bogus data types, data, and dialog-box declarations face_box.men (MenuFields) for the test program. Actually, these modules contain quite a lot of explanation. face_tv.cpp The main program and module for the test face_tv.h application. The *.MEN file defines the face_tv.men menu-bar and status-bar using NestItems. filedlg.cpp Supports obtaining complete filenames, drive, filedlg.h path, and all. Similar to code from Borland, but more elaborate. heapview.cpp Support for using the heap for debugging, very heapview.h similar to Borland's example code. makefile The latest and greatest makefile. makefile.bcc Sometimes the latest and greatest makefile. I go back to it if I really screwed up the makefile. menubars.cpp A base class that provides menu-bar support menubars.h for a TApplication. rbuttons.cpp Turbo Vision version of support for "button" rbuttons.h code for mouse, keyboard, and Koala pad. respintr.cpp Turbo Vision version of support for a window respintr.h containing flashing lights for feedback and a "button" device for making responses to these lights. respwind.cpp Turbo Vision version of support for a window respwind.h containing flashing lights to display feedback in an experiment. These modules implement the "public" interface. The "private" parts come from the rbuttons and respintr modules. screnmsg.cpp The C++ version of the routine callers use screnmsg.h to write messages to a dumb terminal window. scrnmsg.c The C version of the dumb-terminal routine. tbox.cpp A base class providing dialog-box support tbox.h based on MenuField arrays that describe the the dialog box in gory detail. This class does save a lot of effort in writing code to create dialog boxes. textmode.cpp Supports the text mode of DOS. I can't textmode.h remember exactly what this is for. timerctl.cpp Defines a special timer class for use in DOS timerctl.h applications... implemented generically so timerctl.err that the code interface under Windows is the same as for DOS. tinpextd.cpp Defines a class that provides a support for tinpextd.h using the keyboard arrow keys or the mouse for altering numeric data as if it were like a volume control. I first wrote a similar, but more full-featured controller for floating numbers (see tinpmous.cpp/h), but then decided that all numeric fields should have the same abilities. tinpmous.cpp Defines a way to control the Float field using tinpmous.h the mouse or arrow keys. Also supports hooking in a control-function that is called every time the numeric value changes (good for implementing volume controls). The test program has a couple of fields that use this feature. tinput.cpp All the extensions to TInputLine for supporting tinput.h text entry, numeric data entry, and button- boxes. tmouse.c A couple of mouse routines to supplement tmouse.h what Turbo Vision provides. tv_box.h A very recent module... I was planning on trying to support Turbo Vision and Windows programs with the same set of classes, but decided that was much to painful and, even if it worked, confusing. So I dropped the idea. tv_code.h A bunch of Uses_ defines and an #include of tv.h. tv_confg.cpp Handles reading and writing of configuration tv_confg.h files in a simple, but safe, way. tv_confg.err tv_menu.h Defines NestItems, MenuItems, MenuFields, and all that ugly MappedField stuff (that last is for mouse/arrow-key support). tvscreen.cpp A class for supporting a dumb terminal window tvscreen.h that is very useful for logging all error messages to (where they can be reviewed later as well). I got sick of trying to pass back integer error codes and sort out what messages to print. tvyesno.h Useful for stock Yes/No buttons. FILES CREATED BY THE MAKEFILE I'm not including the *.LIB, *.OBJ, or *.EXE files created by the makefile... the title refers to the help, configuration, and automatic response files that are not part of the zipfile, but magically appear after your first run of make. What you do with them is not important, but I just want to clear up any confusion about these files. You do not have to worry about them. face_lib.arf Response file for TLIB face_tv.arf Response file for TLINK face_tv.cfg Compiler switches hlp Ugly help message for the makefile.